package cn.wsn2018.tools.service;

import cn.wsn2018.tools.common.CommonValue;
import cn.wsn2018.tools.mapper.UserMapper;
import cn.wsn2018.tools.model.User;
import cn.wsn2018.tools.util.JsonUtil;
import net.sf.json.JSONObject;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@MapperScan("cn.wsn2018.tools.mapper")
@Service
public class UserService {
    @Resource
    private UserMapper userMapper;

    /**
     * 业务层,处理用户登录验证
     * @param username 表单提供用户名
     * @param password 表单提供密码
     * @return 登录成功与否的状态(无需返回jsonObject或jsonArray)
     */
    public String dealUserLogin(String username,String password){
        User user=userMapper.find(username,password);
        if(user==null){
            return JsonUtil.failedJson(CommonValue.JSON_QUERY_LOGIN_FAILED);
        }
        else{
            return JsonUtil.successJson(CommonValue.JSON_QUERY_LOGIN_SUCCESS,null,null);
        }
    }

    /**
     * 业务层，处理用户注册
     * @param username 表单提供用户名
     * @param password 表单提供密码
     * @return 注册成功与否的状态,并返回注册用户的信息（JSONObject）
     */
    public String dealUserRegist(String username,String password){
        User user=userMapper.check(username);
        if(user!=null){
            return JsonUtil.failedJson(CommonValue.JSON_INSERT_REGIST_FAILED);
        }
        else{
            user=new User();
            user.setUsername(username);
            user.setPassword(password);
            userMapper.save(user);
            JSONObject userJson=JSONObject.fromObject(user);
            return  JsonUtil.successJson(CommonValue.JSON_INSERT_REGIST_SUCCESS,userJson,null);
        }
    }

}
